package com.zfzs.post.service;

import com.zfzs.post.model.dto.MineBenefitDetailDTO;
import com.zfzs.post.model.vo.benefit.BenefitDay4MineVO;
import com.zfzs.post.model.vo.benefit.MineDetailHeadVO;
import com.zfzs.post.modules.transaction.domain.BenefitDay;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
import java.util.Map;

/**
 * @author wq
 * @date 2019/10/21 18:10
 * @description
 */
public interface BenefitService {

    /**
     * 个人列表
     * @param agentId
     * @return
     */
    List<BenefitDay> findListByAgentId(Long agentId);

    /**
     * 个人自营总分润
     * @param agentId
     * @return
     */
    BigDecimal getSelfBenefit(Long agentId);

    /**
     * 个人团队总分润
     * @param agentId
     * @return
     */
    BigDecimal getTeamBenefit(Long agentId);

    /**
     * 个人一定时间内的列表
     * @param agentId
     * @param startDate
     * @param endDate
     * @return
     */
    List<BenefitDay> findListByAgentId(Long agentId, String startDate, String endDate);

    /**
     * 个人总收益
     * @param agentId
     * @param startDate
     * @param endDate
     * @return
     */
    BigDecimal getSelfBenefit(Long agentId, String startDate, String endDate);

    /**
     * 团队总收益
     * @param agentId
     * @param startDate
     * @param endDate
     * @return
     */
    BigDecimal getTeamBenefit(Long agentId, String startDate, String endDate);

    /**
     * 分润收益头部信息
     * @param agentId
     * @param startDate
     * @param endDate
     * @param isSelf
     * @return
     */
    MineDetailHeadVO getMineDetailHead(Long agentId, String startDate , String endDate,Integer isSelf);

    /**
     * 分润收益底部列表
     * @param agentId
     * @param startDate
     * @param endDate
     * @param isSelf
     * @return
     */

    List<BenefitDay4MineVO> getMineBenefitList(Long agentId, String startDate, String endDate, Integer isSelf, Integer pageNo);

    /**
     * 获取信息
     * @param mineBenefitDetailDTO
     * @return
     */
    Map<String,Object>  getMineBenefitDetail(MineBenefitDetailDTO mineBenefitDetailDTO);

}
